#define _CRT_SECURE_NO_WARNINGS 1
////ɾ��ÿ�������е�ĩβ�Ŀո��Ʊ���, ��ɾ����ȫ�ǿո����
//#include <stdio.h>
//#define MAXSIZE 1000
//
//int getline(char s[], int lim);
//int remove_blank(char s[]);
//
//int main()
//{
//    int len;                //��¼��ȡ�еĳ���
//    char line[MAXSIZE];
//
//    while ((len = getline(line, MAXSIZE)) > 0)
//    {
//        if (remove_blank(line) > 0)
//            printf("%s", line);
//    }
//
//    return 0;
//}
//
////remove����: ɾ��ÿ�������е�ĩβ�Ŀո��Ʊ���, ��ɾ����ȫ�ǿո����
//int remove_blank(char s[])
//{
//    int i, flag;
//
//    i = 0;
//    flag = 0;                           //������в���ȫ�ǿո�,flagΪ1
//    while (s[i] != '\0')
//    {
//        if (s[i] != ' ' && s[i] != '\n')
//        {
//            flag = 1;
//        }
//        ++i;
//    }
//    --i;                                //�������Ƶ�ĩβ
//    if (s[i] == ' ' || s[i] == '\t')
//        s[i] = '\0';
//    if (flag = 0)
//        return 0;
//    return (i - 1);
//}
//
////getline����:�������һ�ж�ȡ�������䳤��,ֻ�ܶ�ȡǰ1000���ַ�,��������ȡ�����㳤��
//int getline(char s[], int lim)
//{
//    int i, c, j;
//
//    j = 0;
//    for (i = 0; (c = getchar()) != EOF && c != '\n'; ++i)
//    {
//        if (i < lim - 2)
//            s[j++] = c;
//    }
//    if (c == '\n')
//    {
//        s[j] = '\n';
//        ++j;
//        ++i;
//    }
//    s[j] = '\0';
//    return i;
//}

//#include <stdio.h>
//
//void Swap(int x, int y);
//
//int main(void)
//{
//    int a = 0;
//    int b = 0;
//
//    scanf("%d %d", &a, &b);
//    Swap(a, b);
//
//    return 0;
//}
//
//void Swap(int x, int y)
//{
//    int temp = x;
//    x = y;
//    y = temp;
//}

//#include <stdio.h>
//#include "add.h"
//
////.lib - ��̬��
////���뾲̬��
//#pragma comment(lib, "add.lib")
//
//int main(void)
//{
//    int a = 0;
//    int b = 0;
//
//    scanf("%d %d", &a, &b);
//    Add(a, b);
//    printf("%d %d", a, b);
//
//    return 0;
//}

//#include <stdio.h>
//
//int main(void)
//{
//	printf("hello");
//	main();
//
//	return 0;
//}

//#include <stdio.h>
//
//void print(int n)
//{
//	if (n > 10)
//	{
//		print(n / 10);
//	}
//	printf("%d ", n % 10);
//}
//
//int main(void)
//{
//	print(1234);
//
//	return 0;
//}

//#include <stdio.h>
//
//int my_strlen(char* str)
//{
//	if (*str == '\0')
//	{
//		return 0;
//	}
//	else
//	{
//		return 1 + my_strlen(str+1);
//	}
//}
//
//int main(void)
//{
//	char* p = "abc";
//	int len = my_strlen(p);
//	printf("%d\n", len);
//
//	return 0;
//}

//#include <stdio.h>
//
//int Fac(int num)
//{
//	if (num == 0)
//	{
//		return 1;
//	}
//	else
//	{
//		return num * Fac(num - 1);
//	}
//}
//
//int main(void)
//{
//	int num = 0;
//
//	scanf("%d", &num);
//	printf("%d\n", Fac(num));
//
//	return 0;
//}

//#include <stdio.h>
//
//int Fib(int n)
//{
//	if (n <= 1)
//	{
//		return 1;
//	}
//	else
//	{
//		return Fib(n - 1) + Fib(n - 2);
//	}
//}

// #include <stdio.h>

// int Fib(int n)
// {
// 	int a = 1;
// 	int b = 1;
// 	int c = 1;
	
// 	while (n > 2)
// 	{
// 		c = a + b;
// 		a = b;
// 		b = c;
// 		n--;
// 	}
// 	return c;
// }

// int main(void)
// {
// 	int n = 0;

// 	scanf("%d", &n);
// 	printf("%d\n", Fib(n));

// 	return 0;
// }


//#include <stdio.h>
//
//int my_strlen(char* string)
//{
//	if ((*string) == '\0')
//	{
//		return 0;
//	}
//	else
//	{
//		return 1 + my_strlen(string + 1);
//	}
//}
//void reverse_string(char* string)
//{
//	int len = my_strlen(string);
//	int i = 0;
//
//	char temp = *string;
//	*string = *(string + len - 1);
//	*(string + len - 1) = '\0';
//	if (strlen(string + 1) > 1)
//	{
//		reverse_string(string + 1);
//	}
//	*(string + len - 1) = temp;
//}
//
//int main(void)
//{
//	char str[] = "abcdef";
//
//	reverse_string(str);
//	printf("%s\n", str);
//
//	return 0;
//}

//#include <stdio.h>
//
//int my_strlen1(char* string)
//{
//	if ((*string) == '\0')
//	{
//		return 0;
//	}
//	else
//	{
//		return 1 + my_strlen1(string + 1);
//	}
//}
//
//int my_strlen2(char* string)
//{
//	int count = 0;
//	while ((*string) != '\0')
//	{
//		count++;
//		string = string + 1;
//	}
//	return count;
//}
//
//int main(void)
//{
//	char str[] = "abcdef";
//
//	printf("%d\n", my_strlen1(str));
//	printf("%d\n", my_strlen2(str));
//
//	return 0;
//}

//#include <stdio.h>
//
//int Fac1(int n)
//{
//	if (n == 0)
//	{
//		return 1;
//	}
//	else
//	{
//		return n * Fac1(n - 1);
//	}
//} 
//
//int Fac2(int n)
//{
//	int i = 1;
//	int ret = 1;
//
//	while (i <= n)
//	{
//		ret *= i;
//		i++;
//	}
//	return ret;
//}
//int main(void)
//{
//	int num = 0;
//
//	scanf("%d", &num);
//	printf("%d\n", Fac1(num));
//	printf("%d\n", Fac2(num));
//
//	return 0;
//}

#include <stdio.h>

void print(int num)
{
	if (num < 0)
	{
		printf("%c ", '-');
		num = -num;
	}
	if (num > 9)
	{
		print(num / 10);
	}
	printf("%d ", num % 10);
}

int main(void)
{
	int num = 0;

	scanf("%d", &num);
	print(num);

	return 0;
}